package com.bestcem.xm.qdes.controller.vo;

import com.bestcem.xm.component.mybatis.format.String2JacksonSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 模板库-添加模板-问卷选项选中后查询的题目详情vo
 */
@NoArgsConstructor
@Data
public class QstructsDetailVo {
    @JsonProperty("id")
    private String id;

    @JsonProperty("created_dt")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createdDt;

    @JsonProperty("updated_dt")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updatedDt;

    @JsonProperty("created_id")
    private String createdId;

    @JsonProperty("updated_id")
    private String updatedId;

    @JsonProperty("version_id")
    private String versionId;

    @JsonProperty("deleted")
    private Boolean deleted;

    @JsonProperty("projectID")
    private String projectId;

    @JsonProperty("version")
    private Integer version;

    @JsonProperty("releaseDT")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime releaseDt;

    @JsonProperty("data")
    @JsonSerialize(using = String2JacksonSerializer.class)
    private String data;

    @JsonProperty("withdrawDT")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime withdrawDt;

    @JsonProperty("templates")
    @JsonSerialize(using = String2JacksonSerializer.class)
    private String templates;

    @JsonProperty("attachments")
    @JsonSerialize(using = String2JacksonSerializer.class)
    private String attachments;

    @JsonProperty("csses")
    @JsonSerialize(using = String2JacksonSerializer.class)
    private String csses;

    @JsonProperty("gcss")
    @JsonSerialize(using = String2JacksonSerializer.class)
    private String gcss;

    @JsonProperty("ucss")
    @JsonSerialize(using = String2JacksonSerializer.class)
    private String ucss;

    @JsonProperty("scores")
    @JsonSerialize(using = String2JacksonSerializer.class)
    private String scores;

    @JsonProperty("policy")
    @JsonSerialize(using = String2JacksonSerializer.class)
    private String policy;

    @JsonProperty("status")
    private Integer status;

    @JsonProperty("score_config")
    //@JsonSerialize(using = String2JacksonSerializer.class)
    private String scoreConfig;

    @JsonProperty("gjs")
    @JsonSerialize(using = String2JacksonSerializer.class)
    private String gjs;
}
